testsuite: Handle icontheme test better
authorMatthias Clasen <mclasen@redhat.com>
Thu, 13 Feb 2020 15:56:26 +0000 (10:56 -0500)
committerMatthias Clasen <mclasen@redhat.com>
Thu, 13 Feb 2020 15:56:26 +0000 (10:56 -0500)
Skip just the failing tests in release builds.

testsuite/gtk/icontheme.c
testsuite/gtk/meson.build

index 85c120d68b309ad50a2a28636f886a24c831c048..3948828b932c64746731fe5e916ced3fd8dbbd4f 100644 (file)
@@ -183,6 +183,11 @@ assert_lookup_order (const char         *icon_name,
   GtkIconPaintable *info;
   GList *l;
 
+/* this hack is only usable in debug builds */
+#ifndef G_ENABLE_DEBUG
+  g_assert_not_reached ();
+#endif
+
   debug_flags = gtk_get_debug_flags ();
   gtk_set_debug_flags (debug_flags | GTK_DEBUG_ICONTHEME);
   g_log_set_writer_func (log_writer, NULL, NULL);
@@ -224,6 +229,15 @@ assert_lookup_order (const char         *icon_name,
   gtk_set_debug_flags (debug_flags);
 }
 
+#ifdef G_ENABLE_DEBUG
+#define require_debug()
+#else
+#define require_debug() \
+  g_test_skip ("requires G_ENABLE_DEBUG"); \
+  return;
+#endif
+
+
 static void
 test_basics (void)
 {
@@ -234,6 +248,8 @@ test_basics (void)
 static void
 test_lookup_order (void)
 {
+  require_debug ();
+
   assert_lookup_order ("foo-bar-baz", 16, GTK_TEXT_DIR_NONE, 0, TRUE,
                        "foo-bar-baz",
                        "foo-bar",
index 02aeb6fa4411f94f304267b109ffa7754ddf07c9..333f4347cbd52e5b4771756944d2fe2071176269 100644 (file)
@@ -74,11 +74,6 @@ tests = [
 xfail = [
 ]
 
-# Tests that are expected to fail on non-debug builds
-xfail_nodebug = [
-  'icontheme', # Overrides debugging messages
-]
-
 is_debug = get_option('buildtype').startswith('debug')
 
 test_cargs = []
@@ -102,9 +97,6 @@ foreach t : tests
     install_dir: testexecdir)
 
   expect_fail = xfail.contains(test_name)
-  if not is_debug
-    expect_fail = xfail_nodebug.contains(test_name)
-  endif
 
   test(test_name, test_exe,
        args: [ '--tap', '-k' ],